WinHelp

Microsoft WinHelp

Help File
Filename extension .hlp
Developed by Microsoft
Initial release 1990
Container for RTF
Standard(s) No
Microsoft WinHelp
A component of Microsoft Windows
Details
Type Help system
Included with Windows 3.0
Replaced by Microsoft Compiled HTML Help

Microsoft WinHelp is a proprietary format for online help files that can be displayed by the Microsoft Help browser winhelp.exe or winhlp32.exe. The file format is based on Rich Text Format (RTF). It remained a popular Help platform from Windows 3.0 platform through Windows XP. WinHelp was removed in Windows Vista to discourage software developers from using the obsolete format and encourage use of newer help formats.

Contents

History

File format

A WinHelp file has a ".hlp" suffix. It can be accompanied by an optional table of contents (.cnt) file if the help developer created one. When Windows opens a WinHelp file, it creates a .gid file in the same directory, containing information about the .hlp file such as the window size and location. If the user clicks the "Find" tab and enables keyword indexing, Windows creates an index file with a .fts (full text search) extension.

A WinHelp file can also be decompiled, providing copies of its source documents (HPJ, CNT, RTF, BMP, SHG), using a number of software tools. An HPJ file is the project file that is created and edited in the Help Workshop (or a third party help authoring tool). The HPJ contains information about what RTF files to compile into the help, the MAP IDs and Aliases that provide links from a calling application to the help file, and help file appearance (window size, default buttons, color schemes, etc.). The CNT file provides the Table of Contents for the help file. An SHG file is a "SHED" graphics file that essentially creates an image map of help calls for a graphic file (e.g., a BMP).

There are number of tools which can read and explore these files (see for example Help to RTF, winhelpcgi).

Source files and compilation

The source files required to compile a .hlp file consist of one or more documents with the extension .rtf and a help project file with the extension .hpj, along with any image files (.bmp, .wmf, or .shg) that are used within the Help file. An optional Table of Contents file with the extension .cnt can also be created for use with the .hlp file.

Within the .rtf files, topics are separated by page breaks. Each topic will have a series of footnotes which contain information for the help compiler: # footnotes contain the topic ID (used to create links to that topic); $ footnotes contain the topic name as it will be displayed in the table of contents, index, and other locations; K footnotes contain keywords for the index; A footnotes contain See Also keywords; * footnotes contain build tags; + footnotes contain browse sequence information; and ! footnotes contain topic entry macros. Only the # footnote is required; all others are optional.

The text within each topic can contain limited types of formatting, including bold text, italics, and colors, etc. (Superscript and subscript are not allowed.) Jumps between topics in the same Help file usually appear in the source document as double-underlined text (green by default, although this can be overridden) followed by a topic ID in hidden text. Popup links appear in the source document as text with a single underline (also green by default) followed by a topic ID in hidden text. (In the .hlp file, the jumps will show up as green text with a single underline, and popups will show up as green text with a dotted underline.)

Images can be added using codes such as {bmc image.bmp}. Supported image formats include .bmp, .wmf, and .shg (used for image maps, which can contain jumps or popups that are triggered by clicking on specific parts of the image).

After the source files have been created, the help file can be compiled using a WinHelp compiler such as HCW.exe or by using a commercial software program such as RoboHelp or HelpBreeze, most of which (included the two cited here) also use hcw.exe as the backend compiler.

WinHelp appearance and features

Depending on how it has been launched and what settings the Help author has chosen, a WinHelp file will open either to its default topic, its Table of Contents, or its Index.

A topic in a WinHelp file opens in a separate window, the size and initial position of which can be chosen by the Help author. Users can resize or reposition the window if they choose. The Help author can control whether the Help file will remember the user's settings between sessions or whether it will always open with its default size and position.

When a topic is open, a title bar at the top of the Help window displays the title that the Help author has given to the file. Below that is a row of menus (File, Edit, Bookmark, Options, and Help) which can be used to control various aspects of the file. A row of buttons usually appears below the menus. The Help author controls which buttons, if any, appear. Typical buttons include Contents, Index, Back, and Print, along with << and >> buttons to browse through the file. Help authors can also create custom buttons to jump to specific topics or perform other actions.

Below the buttons is the main text area of the window. Typically, the text begins with a heading, often bold or in a larger font than the rest of the text. This heading may sometimes be in what's called a non-scrolling region - an area of the window which will not move up or down if the user moves the scrollbar at the side of the window. Non-scrolling regions can only be used at the beginning of a topic. If a non-scrolling region is used, the Help author can control the size and background color of it.

Help authors can also control the background color of the main text area, where the actual text of the topic appears. This text can be formatted and arranged in many ways. Within the text, jumps will appear as green text with a single underline. Single-clicking on a jump will open a different topic. Some jumps may open secondary Help windows to display their information. Popups appear in the text as green text with a dotted underline. Single-clicking on a popup will open a small window with no menus, buttons, or scrollbars, sized to fit the text it contains. Often, popups are used to provide short definitions of key terms or other supplemental information about the main text. The popup will automatically disappear the next time the user clicks anywhere or presses any key.

Many, though not all, Help topics will have See Also jumps at the end of the text. Depending on the Help author's preference, this feature may be a simple list of jumps under the heading See Also, or it may be a small button which, when clicked, brings up a dialog box displaying all the relevant topics. Clicking on the name of a topic in that dialog box then clicking Display will open that topic.

Most Help files also contain a Table of Contents and an Index to help users locate the information they need. These feature appear in a separate, tabbed window. Clicking on the Contents tab will open the Table of Contents, in which users can click on headings to see the topics available for them. Often the headings are marked with icons that look like small books, while the topics have icons that look like pages. Double-clicking on a topic (or clicking on a topic then clicking Display) will open that topic. Clicking on the Index tab will open the index, which has a typing field and an alphabetical list of keywords. Typing in the typing field will automatically scroll the list of keywords to the closest match for what you typed. Double-clicking on a keyword (or clicking on a keyword then clicking Display) will display the topic associated with that keyword (if there is only one) or bring up a list of all the topics associated with it (if there is more than one). The index is a very important tool in helping users locate the information they need. Sometimes Help files also have a Find tab, which allows the user to search for any word used in the text of the file, not just for keywords.

WinHelp also supports a feature known as context-sensitive help. Context-sensitive help is assistance that is appropriate to where the user is in the software application, and what they are trying to do.

A rather security critical feature is that one can also include a DLL file containing custom code and associating it with WinHelp topics. Effectively this makes .HLP files equivalent to executables.

End of support

At the 2006 WritersUA conference, Microsoft announced its intentions to phase out WinHelp as a supported platform. Ted Dworkin (Partner Director of WinHelp Experience) stated, "WinHelp does not meet the code standards established for Vista. These standards include security, reliability, and performance. WinHelp is architected in such a way that we would have to rewrite it from the ground up to meet the Vista code standards. And that approach doesn't make sense given that we have two other Help systems in Vista."

The updated licensing agreement prohibits application developers from packaging the WinHelp libraries with their installers. What this means is that WinHelp manuals for legacy applications will never be readable on a clean Windows Vista PC—in order to read them, the end-user must obtain the 32-bit WinHelp viewer from Microsoft's website and manually install it (which requires WGA "activation" and an account with administrative rights).

Windows 7 support

Microsoft published Windows Help program (WinHlp32.exe) for Windows 7 on October 14, 2009, a week before the scheduled October 22 deadline.[3][4] Microsoft has recently announced that separate downloads for Windows 7 and Windows Server 2008 R2 will be offered after the RTM versions of these products are available to public.[2][5]

Other Documentation File Formats

Although documentation can be maintained entirely in a vendor-specific presentation format such as WinHelp, it is more often the case that documentation will need to be published in several different presentation formats at once: Microsoft Compiled HTML Help (CHM), WinHelp, HTML pages, Java Help, PDF, etc. It would be very expensive and error-prone to maintain each format separately.

For this reason, documentation is often maintained in an industry-standard, vendor-neutral authoring format, such as DocBook, from which several different presentation formats (including WinHelp) can be generated. All of the various presentation files thus produced (WinHelp or otherwise) will always be consistent with one another because all of them were generated from the same sources.

See also

References

External links